internal input variables¶
This document lists and provides the description of the name (keywords) of the internal input variables to be used in the input file for the abinit executable.
cprj_in_memory¶
Mnemonics: CPRoJectors IN MEMORY
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_TuningSpeedMem
Variable type: integer
Dimensions: scalar
Default value: None
Added in version:
For systems with many atoms, nonlocal operations are the most timeconsuming part of the computation. The nonlocal contribution of the wavefunction \psi to the energy writes:
and the Hamiltonian applied to a wavefunction is:
The index “a” stands for atoms (natom), while “i” and “j” indices run over the set of available projectors in the pseudopotential. e_{a,ij} and D_{a,ij} are scalars. In the PAW formalism (%usepaw = 1), the overlap operator has the same structure than H_{nonlocal}. Introducing the “cprj” coefficients:
the energy writes:
and the Hamiltonian becomes:
With cprj_in_memory = 0, “cprj” coefficients are computed onthefly in many parts of the code, including groundstate computations. If cprj_in_memory = 1 (or any nonzero value), “cprj” coefficients are stored in memory during the whole computation, and they evolve as the wavefunctions do. Some algorithms can take advantage of this feature and reduce the computational time. For now, cprj_in_memory = 1 is implemented only in the following context:

optdriver = 0 : groundstate computation

wfoptalg = 10 : using Congugate Gradient algorithm

paral_kgb = 0 : with simple parallelization over kpoints only

rmm_diis = 0 : without the use of rmm_diis algorithm

berryopt = 0 : without finite electricfield

%usefock = 0 : without Fock exchange term in the functional

nucdipmom = 0 : without nuclear dipolar moments
If these conditions are met and cprj_update_lvl is nonzero, cprj_in_memory is set to 1. This way cprj_update_lvl = 0 forces the code to use the native implementation, where “cprj” coefficients are computed onthefly.
kptns¶
Mnemonics: KPoinTs reNormalized and Shifted
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_kpoints
Variable type: real
Dimensions: (3,nkpt)
Default value: None
Added in version: before_v9
If nqpt = 0, or if one is doing a reponse calculation, this internal variable is derived from kpt and kptnrm: kptns (1:3,:)= kpt(1:3,:)/ kptnrm, so that it is kpt renormalized by kptnrm.
If nqpt = 1 and one is not doing a groundstate calculation, this internal variable is derived from kpt, kptnrm and %qptn: kptns (1:3,:)= kpt(1:3,:)/ kptnrm+ %qptn(1:3), so that it is kpt renormalized by kptnrm, then shifted by %qptn(1:3).
kptns_hf¶
Mnemonics: KPoinTs reNormalized and Shifted, for the HartreeFock operator
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_kpoints
Variable type: real
Dimensions: (3,nkpthf)
Default value: None
Added in version: before_v9
kptns_hf is the subset of the full Brillouin Zone k point grid for wavefunctions, used to build the Fock operator, see fockdownsampling.
mband¶
Mnemonics: Maximum number of BANDs
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_BandOcc
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
This internal variable derives the maximum number of bands over all kpoints and spinpolarisation from nband(1:nkpt*nsppol).
mgfft¶
Mnemonics: Maximum of nGFFT
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Planewaves
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
This internal variable contains the maximum of ngfft(1:3).
mgfftdg¶
Mnemonics: Maximum of nGFFT for the Double Grid
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Planewaves
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
This internal variable contains the maximum of ngfftdg(1:3).
mpw¶
Mnemonics: Maximum number of Plane Waves
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Planewaves
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
This internal variable gives the maximum of the number of plane waves over all kpoints. It is computed from ecut and the description of the cell, provided by acell, rprim, and/or angdeg.
natpawu¶
Mnemonics: Number of AToms on which PAW+U is applied
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_DFT+U
Variable type: integer
Dimensions: scalar
Default value: None
Only relevant if: usepawu == 1
Added in version: before_v9
This internal variable gives the number of atoms on which the DFT+U method is applied. This value is determined from lpawu.
ndynimage¶
Mnemonics: Number of DYNamical IMAGEs
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_PIMD
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
This internal variable gives the number of dynamical images, immediately deduced from the number of nonzero values present in dynimage. It is used to dimension many memoryconsuming arrays (one copy for each image), e.g. the wavefunction array (cg), the density array (rho), etc.
nelect¶
Mnemonics: Number of ELECTrons
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_BandOcc
Variable type: real
Dimensions: scalar
Default value: AUTO_FROM_PSP
Added in version: before_v9
This internal variable gives the number of electrons per unit cell, as computed from the sum of the valence electrons related to each atom (given in the pseudopotential, where it is called “zion”), and the input variable cellcharge: nelect = zioncellcharge.
When there are several images, although cellcharge is an array, nelect is initialized with the first image, namely nelect = zioncellcharge(1).
nfft¶
Mnemonics: Number of FFT points
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Planewaves
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
If space parallelization is not used (that is, if paral_kgb == 0), this internal variable gives the number of Fast Fourier Transform points in the grid generated by ngfft(1:3). It is simply the product of the three components of ngfft.
If space parallelisation is used (that is, if paral_kgb == 1), then it becomes the number of Fast Fourier Transform points attributed to the particular processor. It is no longer the abovementioned simple product, but a number usually close to this product divided by the number of processors on which the space is shared.
nfftdg¶
Mnemonics: Number of FFT points for the Double Grid
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Planewaves
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
If space parallelisation is not used (that is, if paral_kgb == 0), this internal variable gives the number of Fast Fourier Transform points in the (double) grid generated by ngfftdg(1:3). It is simply the product of the three components of ngfftdg.
If space parallelisation is used (that is, if paral_kgb == 1), then it becomes the number of Fast Fourier Transform points attributed to the particular processor. It is no longer the abovementioned simple product, but a number usually close to this product divided by the number of processors on which the space is shared.
npweps¶
Mnemonics: Number of PlaneWaves for EPSilon (the dielectric matrix)
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Susceptibility
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
npweps determines the size of the planewave set used to represent the independentparticle susceptibility \chi^{(0)}_{KS}, the dielectric matrix \epsilon and its inverse. It is an internal variable, determined from ecuteps.
npwsigx¶
Mnemonics: Number of PlaneWaves for SIGma eXchange
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_SelfEnergy
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
npwsigx determines the cutoff energy of the planewave set used to generate the exchange part of the selfenergy operator. It is an internal variable, determined from the largest of ecutsigx or ecutwfn.
npwwfn¶
Mnemonics: Number of PlaneWaves for WaveFunctioNs
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Susceptibility, topic_SelfEnergy
Variable type: integer
Dimensions: scalar
Default value: None
Added in version: before_v9
npwwfn is the size of the planewave set used to represent the wavefunctions in the formula that generates the independentparticle susceptibility \chi^{(0)}_{KS}. It is an internal variable, determined from ecutwfn.
qptn¶
Mnemonics: QPoinT reNormalized
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_DFPT
Variable type: real
Dimensions: (3)
Default value: 3 * 0
Only relevant if: nqpt == 1
Added in version: before_v9
Only used if nqpt = 1.
In groundstate calculation, the vector qptn(1:3) is added to each renormalized k point (whatever the value of kptopt used) to generate the normalized, shifted, set of kpoints %kptns(1:3,1: nkpt ). In responsefunction calculations, qptn(1:3) defines the wavevector of the phonontype calculation.
qptn(1:3) can be produced on the basis of the different methods described in qptopt, like using qpt(1:3) with renormalisation provided by qptnrm, or using the other possibilities defined by iqpt, ngqpt, nshiftq, qptrlatt, shiftq.
For insulators, there is no restriction on the qpoints to be used for the perturbations. By contrast, for metals, for the time being, it is advised to take q points for which the k and k+q grids are the same (when the periodicity in reciprocal space is taken into account). Tests remain to be done to see whether other q points might be allowed (perhaps with some modification of the code).
usefock¶
Mnemonics: USE FOCK exact exchange
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Hybrids
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
This internal variable is automatically set to 1 when the value of ixc refers to an HartreeFock calculation or hybrid functionals.
 0 → No use of exact exchange.
 1 → exact exchange is required for the calculation.
usepaw¶
Mnemonics: USE Projector Augmented Waves method
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_PAW
Variable type: integer
Dimensions: scalar
Default value: AUTO_FROM_PSP
Added in version: before_v9
This variable is determined by the pseudopotentials files. PAW calculations (see paw1 tutorial) can only be performed with PAW atomic data input files, while pseudopotential calculations are performed in ABINIT with normconserving pseudopotential input files. Most functionalities in ABINIT are available with either type of calculation.
userec¶
Mnemonics: USE RECursion
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_Recursion
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
This internal variable is set to 1 when the recursion method is activated (see tfkinfunc).
xclevel¶
Mnemonics: eXchange Correlation functional LEVEL
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_xc, topic_TDDFT
Variable type: integer
Dimensions: scalar
Default value: 0
Added in version: before_v9
Automatically determined from the value of ixc.
 0 → No XC contribution.
 1 → LDA functional.
 2 → GGA functional or hybrid functional based on GGA.
 3 → Functional for TDDFT.
ziontypat¶
Mnemonics: Z (charge) of the IONs for the different TYPes of AToms
Characteristics: INTERNAL_ONLY
Mentioned in topic(s): topic_AtomTypes, topic_PseudosPAW
Variable type: real
Dimensions: (ntypat)
Default value: AUTO_FROM_PSP
Added in version: before_v9
Charge of the pseudoion (defined as the number of valence electrons that are needed to screen exactly the pseudopotential).